/**
 * 语法示例数据文件
 * 为EditModal组件提供各种组件类型的语法示例
 */

export const syntaxExamples = {
  // Mermaid图表示例
  mermaid: `\`\`\`mermaid
graph TD
    A[开始] --> B{判断}
    B -->|条件1| C[处理1]
    B -->|条件2| D[处理2]
    C --> E[结束]
    D --> E
\`\`\``,

  // ECharts图表示例
  echarts: `\`\`\`echarts
{
  "title": {
    "text": "ECharts 示例图表"
  },
  "tooltip": {},
  "legend": {
    "data": ["销量"]
  },
  "xAxis": {
    "data": ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
  },
  "yAxis": {
    "type": "value"
  },
  "series": [{
    "name": "销量",
    "type": "bar",
    "data": [5, 20, 36, 10, 10, 20]
  }]
}
\`\`\``,

  // 数据集示例
  dataset: `\`\`\`dataset datasetId: sales_data
{
  dimensions: ["产品", "2020", "2021", "2022"],
  source: [
    {产品: "产品A", 2020: 100, 2021: 120, 2022: 150},
    {产品: "产品B", 2020: 80, 2021: 90, 2022: 110},
    {产品: "产品C", 2020: 60, 2021: 70, 2022: 85},
    {产品: "产品D", 2020: 45, 2021: 55, 2022: 70},
    {产品: "产品E", 2020: 120, 2021: 140, 2022: 165}
  ]
}
\`\`\`

\`\`\`dataset datasetId: user_stats
{
  source: [
    ["地区", "用户数", "增长率"],
    ["华东", 1500, 0.15],
    ["华南", 1200, 0.12],
    ["华北", 1800, 0.18],
    ["西南", 800, 0.08],
    ["西北", 600, 0.06]
  ]
}
\`\`\`

\`\`\`dataset datasetId: sql_query_1 datasourceId: sales_db
SELECT 产品, 年份, 销售额 FROM sales_data WHERE 销售额 > 100
\`\`\``,

  // 代码块示例
  code: `\`\`\`javascript
function hello() {
  console.log('Hello, World!');
}
\`\`\``,

  // 容器示例
  container: `::: info
这是一个信息提示框
这里可以包含**Markdown**语法
:::

::: warning
这是一个警告提示框
- 支持列表
- 支持其他markdown语法
:::

::: danger
这是一个危险提示框
\`\`\`js
// 支持代码块
const danger = true;
\`\`\`
:::`,

  // 标题示例
  h1: `# 一级标题`,
  h2: `## 二级标题`,
  h3: `### 三级标题`,
  h4: `#### 四级标题`,
  h5: `##### 五级标题`,
  h6: `###### 六级标题`,

  // 段落示例
  p: `这是一个段落文本，可以包含**粗体**、*斜体*、\`行内代码\`等格式。`,

  // 无序列表示例
  ul: `- 项目1
- 项目2
  - 子项目2.1
  - 子项目2.2`,

  // 有序列表示例
  ol: `1. 第一步
2. 第二步
3. 第三步`,

  // 引用块示例
  blockquote: `> 这是一段引用文本
> 可以跨越多行
> 支持嵌套其他Markdown语法`,

  // 表格示例
  table: `| 表头1 | 表头2 | 表头3 |
|-------|-------|-------|
| 内容1 | 内容2 | 内容3 |
| 行2列1 | 行2列2 | 行2列3 |`
}

/**
 * 获取指定组件类型的语法示例
 * @param {string} componentType - 组件类型
 * @returns {string} 语法示例内容
 */
export function getSyntaxExample(componentType) {
  return syntaxExamples[componentType] || ''
}

/**
 * 获取语法示例的标题
 * @param {string} componentType - 组件类型
 * @returns {string} 示例标题
 */
export function getExampleTitle(componentType) {
  const titleMap = {
    mermaid: 'Mermaid 语法示例',
    echarts: 'ECharts 配置示例',
    dataset: '数据集格式示例',
    sql_dataset: 'SQL 查询示例',
    code: '代码示例',
    container: '容器语法示例',
    h1: '一级标题示例',
    h2: '二级标题示例',
    h3: '三级标题示例',
    h4: '四级标题示例',
    h5: '五级标题示例',
    h6: '六级标题示例',
    p: '段落示例',
    ul: '无序列表示例',
    ol: '有序列表示例',
    blockquote: '引用块示例',
    table: '表格示例'
  }
  return titleMap[componentType] || '语法示例'
}

/**
 * 检查组件类型是否支持语法示例
 * @param {string} componentType - 组件类型
 * @returns {boolean} 是否支持示例
 */
export function hasSyntaxExample(componentType) {
  return componentType in syntaxExamples
}